1. Technical Field
This invention generally relates to computer systems and more specifically relates to graphical user interfaces for computer systems.
2. Background Art
Early computer systems used command-based operating systems and software applications. These command-based systems provided a user interface that required the user to memorize a relatively large number of commands in order to perform meaningful work. The user interfaces for these command-driven computer programs required a relatively high level of skill to operate, and were not considered to be “user-friendly.” With the introduction of the IBM personal computer (PC), computers became more widely available, both in the workplace and in homes, and the computer industry soon recognized the need to provide more user-friendly interfaces to computer programs. As a result, many different operating systems were introduced that provided a graphical user interface (GUI), including IBM's OS/2, Microsoft Windows, and the Apple McIntosh. Software applications with graphical user interfaces soon followed, and the vast majority of computer programs running on personal computers today include a user-friendly graphical user interface.
Most graphical user interfaces provide many similar features. The basic display area in a graphical user interface is known as a window. A single window may fill the entire display, or the display can be split into a number of different windows. Most graphical user interfaces provide a menu bar that provides several drop-down lists of commands the user can perform. Various toolbars may also be provided that are customized to performing certain tasks within the computer program. A pointing device such as a trackball or a mouse is generally used to select various commands and options by clicking on the appropriate buttons on the menu bar, tool bar, or by selecting particular objects or portions of a window. Many operations in known graphical user interfaces may be performed by selecting an object by pressing a pointer button, holding the pointer button down while moving the object to a desired location, and dropping the object at the desired location by releasing the pointer button. The moving of an object while holding a pointer button down (i.e., while the object is selected) is commonly referred to as “dragging” the object. For example, a user can delete a file by selecting a file icon by pressing a pointer button, dragging the file icon to a recycle bin icon or a trash can icon, then releasing the pointer button to drop the file icon onto the recycle bin or trash can. A user can move a file by selecting a file icon and dragging the file icon to a new directory, then releasing the pointer button to drop the file icon onto the new directory. Both of these example relates to moving a file, but do not allow performing operations on the file without moving the file. These and other operations that allows a user to drag an object in a graphical user interface are known in the art.
While using a pointer is a very convenient way to navigate a graphical user interface, the user still must make multiple pointer clicks to perform most operations in ways that are often not intuitive or easy to perform. For example, if the user desires to combine two logical expressions A and B with a logical operator AND, the user could select the first logical expression A with a pointer click, select the second logical expression B with a pointer click, then click on an AND button to logically AND these two logical expressions together. This sequence of operations is different than the way a human user looks at the logical expression A AND B. As a result, a user's efficiency may be negatively affected by the current user interfaces known in the art. Without a mechanism that simplifies the use of a graphical user interface, users will have to continue using outdated graphical user interfaces that require an excessive number of pointer clicks to accomplish a desired task and that do not support performing computer tasks in a quick and intuitive fashion.